package MyBinaryTree;

public interface Operation {
    // 获取树中节点的个数
    int size(TreeNode root);

    // 获取叶子节点的个数
    int getLeafNodeCount(TreeNode root);
    // 子问题思路-求叶子结点个数

    // 获取第K层节点的个数
    int getKLevelNodeCount(TreeNode root,int k);

    // 获取二叉树的高度
    int getHeight(TreeNode root);

    // 检测值为value的元素是否存在
    TreeNode find(TreeNode root, int val);

    //层序遍历
    void levelOrder(TreeNode root);

    // 判断一棵树是不是完全二叉树
    boolean isCompleteTree(TreeNode root);
}
